package com.hzhq.contract.service;

import com.hzhq.contract.bean.dto.ContractStatusDTO;
import org.bson.types.ObjectId;
import org.springframework.data.domain.Page;
import org.springframework.data.mongodb.core.query.Query;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author: hzhq1255
 * @mail: hzhq1255@163.com
 * @date: 2021/4/15 0:13
 * @desc:
 */
public interface ContractStatusService {
    
    List<ContractStatusDTO> getAllList();
    
    Page<ContractStatusDTO> getAllPage(Integer currentPage,Integer pageSize);

    
    Page<ContractStatusDTO> searchByName(String name, Integer currentPage, Integer pageSize);
    
    ContractStatusDTO getOneById(String id);
    
    ContractStatusDTO getOneByName(String name);

    ContractStatusDTO getOneByContractIdAndStatusName(String contractId, String statusName);

    ContractStatusDTO getOneByContractIdAndStatusId(String contractId, String statusId);
    
    ContractStatusDTO save(ContractStatusDTO contractStatusDTO);

    List<ContractStatusDTO> saveAll(List<ContractStatusDTO> contractStatusDTOList);
    
    List<String> deleteByIds(List<ObjectId> ids);

    String deleteById(String id);
    
    Page<ContractStatusDTO> searchAllPages(ContractStatusDTO statusDTO, Integer currentPage, Integer pageSize);

    Page<ContractStatusDTO> searchAllPageByQuery(Query query, Integer currentPage,Integer pageSize);
    
}
